const app = getApp()
const request = require('../../utils/request.js');
Page({
  data: {
    username: '',
    password: ''
  },

  onPhoneInput(e) {
    this.setData({
      username: e.detail.value
    })
  },

  onPasswordInput(e) {
    this.setData({
      password: e.detail.value
    })
  },

  handleLogin() {
    const { username, password } = this.data
    
    // 表单验证
    if (!username) {
      wx.showToast({
        title: '请输入用户名',
        icon: 'none'
      })
      return
    }
    
    if (username.length < 4 || username.length > 20) {
      wx.showToast({
        title: '用户名长度必须在4-20个字符之间',
        icon: 'none'
      })
      return
    }

    if (!password) {
      wx.showToast({
        title: '请输入密码',
        icon: 'none'
      })
      return
    }

    // 显示加载中
    wx.showLoading({
      title: '登录中...',
    })

    // 调用登录接口
    request.request({
      url: app.globalData.baseUrl + '/api/auth/login',
      method: 'POST',
      data: {
        username,
        password
      },
      success: (res) => {
        if (res.data.code === 200) {
          // 登录成功，保存用户信息
          app.setGlobalUserInfo(res.data.data.userInfo);
          app.setGlobalToken(res.data.data.token);
          app.globalData.needRefresh = true;
          wx.showToast({
            title: '登录成功',
            icon: 'success'
          })
          // 返回上一页
          setTimeout(() => {
            wx.switchTab({
              url: '/pages/my/my',
            })
          }, 1500)
        } else {
          wx.showToast({
            title: res.data.message || '登录失败',
            icon: 'none'
          })
        }
      },
      fail: () => {
        wx.showToast({
          title: '网络错误，请重试',
          icon: 'none'
        })
      },
      complete: () => {
        wx.hideLoading()
      }
    })
  },

  goToRegister() {
    wx.navigateTo({
      url: '/pages/register/register'
    })
  },
}) 